Discrete linear transforms are explicit and/or implicit components of many different applications and types of applications. They are used in image compression and enhancement, logical operations and neural networks and describe such functions as routing signals that are input at a first set of terminals so that they are output at different desired terminals of a second set of terminals.
A general discrete linear transform transforms a first tensor “X” into a second tensor “Y”. The transformation may be represented by an equation of the form Yj1 . . . jm=ΣW(j1 . . . jm:i . . . in) Xi1 . . . in, where Yj1 . . . jm and Xi1, . . . in are components of tensors X and Y respectively, i1 . . . in and j1 . . . jm are integer indices and n and m are integers defining the order of the tensors. In the above equation and equations that follow, the convention is that repeated indices are summed over. By appropriately “reindexing”, tensors X and Y can be parsed into vectors having components indicated by a single index. If components of X and Y after reindexing are represented by xi and yj respectively, then the linear transformation of X to Y can be represented by yj=ΣW(j,i)xi. The last equation represents the transform of vector “x” into vector “y” by matrix multiplication.
Many common applications, such as JPEG and MPEG applications for compression of still and moving images, involve discrete linear transforms that require a very large number of arithmetical operations. For example, performing a discrete cosine transform (DCT) of a 1000×1000 pixel image in a JPEG routine requires on the order of 6×106 multiplications. Optical signal processing methods that perform operations required by linear transformations rapidly and in parallel offer methods for executing such transformations substantially more rapidly than conventional computational methods. In particular, optical signal processing can be used to rapidly and efficiently perform the basic function of multiplying a vector by a matrix.
Optical methods for performing linear transformations are described in a book entitled “Optical Computing” by D. G. Feitelson, MIT Press, 1988, the disclosure of which is incorporated herein by reference. FIG. 4.2 in the book schematically shows an optical matrix-vector multiplier. An article entitled, “Compact Optical Crossbar Switch” by S. Reinhorn et al; Applied Optics, Vol. 36, No 5; 10 February 97, the disclosure of which is incorporated herein by reference, describes a planar optical crossbar switch that operates to switch an optical signal from any one of N light sources to any one of N detectors.